package com.ruoyi.hxf.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.hxf.domain.Education;
import com.ruoyi.hxf.domain.Topic;

import java.util.Collection;
import java.util.List;

/**
 * 帖子创建管理Service接口
 *
 * @author hxf
 * @date 2022-12-15
 */
public interface ITopicService {

    /**
     * 查询帖子审批列表
     * @param topic
     * @param pageQuery
     * @return
     */
    TableDataInfo<Topic> selectPageTopicList(Topic topic, PageQuery pageQuery);

    /**
     * 查询帖子管理
     */
    Topic queryById(String topicId);
    /**
     * 新增帖子信息
     *
     * @param topic 帖子信息
     * @return 结果
     */
    int insertTopic(Topic topic);

    /**
     * 修改帖子管理
     */
    Boolean updateByBo(Topic topic);
    /**
     * 校验并批量删除帖子管理信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 修改
     * @param topic
     * @return
     */
    int updateByTopic(Topic topic);
    /**
     * 查询帖子审批列表
     * @param topic
     * @param pageQuery
     * @return
     */
    TableDataInfo<Topic> selectAppPageTopicList(Topic topic, PageQuery pageQuery);

    /**
     * 获取是否点赞了
     * @param userId
     * @param topicId
     * @return
     */
    String  selectCollectionByUserIdAndTopicId(Long userId, Long topicId,String type);

    /**
     *
     * @param topicId
     * @param status
     * @return
     */
    int insertTopicLike(String topicId,String userId, String status,String type);

    boolean selectTopicLike(String topicId, String userId,String type);

    void updateTopicLike(String topicId, String userId, String status,String type);

    TableDataInfo<Topic> selectMyAppPageTopicList(Topic topic, PageQuery pageQuery);

    int updateTopicByTopicId(Topic topic);
}
